草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

c# - 如何将抛出的异常映射到事件 ID 以进行日志记录?

在我们的代码库中,错误条件可能导致抛出异常。在代码的其他地方,异常处理程序捕获异常并将错误记录到Windows事件日志中。当检测到错误并抛出异常时,我们可以获得有关错误情况的最多信息,我想使用将记录在Windows事件日志中的唯一事件ID来识别错误。将此事件ID包含在抛出的异常中的最佳方法是什么?我考虑过使用Exception.HResult,但这似乎旨在用于COM/win32互操作。人们是否使用HResult以此目的?似乎可以将严重性映射到日志级别,将设施代码映射到事件源,将Hresult代码映射到事件ID。这是一种常见的方法吗?我考虑过使用Exception.Data字典并将命名的

.net - File.WriteAllText 抛出 UnauthorizedAccessException

对远程路径执行File.WriteAllText会抛出UnauthorizedAccessException。当我在记事本中打开文件时,我可以毫无问题地对其进行编辑。试图修改文件的进程以我自己的用户帐户运行,因此它应该能够访问它。 最佳答案 如果文件设置了“隐藏”属性,也会抛出UnauthorizedAccessException。不要问我为什么... 关于.net-File.WriteAllText抛出UnauthorizedAccessException,我们在StackOverfl

c++ - boost.filesystem create_directories 抛出 std::bad_alloc

我有一个在WindowsXPSP3中运行的使用Boost1.47.0的VisualStudio2008C++03应用程序。调用boost::filesystem::create_directories(L"c:\\foo\\bar");抛出一个std::bad_alloc异常。在输出窗口中,我看到一条调试堆消息:“HEAP[test.exe]:分配大小无效-CDCDCDCE(超过7ffdeff)”调用堆栈显示boost.filesystem创建了一个新的语言环境和Microsoft标准库文件xlocale第309行中最后可见的代码行。msvcp90.dll!std::_Allocate

c# - 如何在 C# 中使用 Windows 服务跟踪给定进程是否抛出异常

我的进程有时会在启动后抛出类似dllnotfound的异常。我有一个监控服务负责维护流程的一致状态。我如何使用Windows服务跟踪我的进程的状态。是否有一个开源的windows服务实现来维护/跟踪windows中的进程状态。 最佳答案 那是不可能的,异常首先是线程本地的,如果未处理,则第二是进程本地的。未处理的异常将终止进程。您可以从这样一个死进程中拾取的唯一弹片是进程退出代码。其中应设置为0xe0434f4e,即非托管异常的异常代码。没有其他相关信息可用,除非在记录状态的进程中有未处理的异常处理程序。那个状态很不靠谱,过程中遭遇

c++ - 如何在不丢失原始调用堆栈的情况下重新抛出异常?

情况是这样的:线程A捕获到一个异常,将异常的数据保存在内存中的某处(使用异常过滤器中的GetExceptionInformation),之后线程B得到了那个异常信息,想要重新抛出。但问题是,当线程B重新抛出捕获的异常时,我丢失了导致异常的原始调用堆栈。如何在不丢失原始调用堆栈的情况下重新抛出异常?(注意这个问题是关于C++的)。 最佳答案 您可以在catchblock中展开堆栈并将其保存为要重新抛出的异常的一部分。在C++中展开堆栈有点棘手,但您可以查看WxWidgets附带的故障转储收集器代码。举个例子。

windows - Stack (Haskell) 在 Windows 中抛出 TlsException

Stack(在Windows下)有时会在尝试下载文件时抛出以下异常(例如,在stacksetup期间或下载构建计划时):TlsException(HandshakeFailed(Error_Protocol("certificatehasunknownCA",True,UnknownCa))).如果发生此错误,如何解决?(这已在https://github.com/commercialhaskell/stack/issues/234上讨论并解决,我重新发布问题以使解决方案更可用。) 最佳答案 这是由于在访问各种网站时stack没有找

c# - 与多点触控操作抛出异常相关的未记录的 .NET 代码

一个有利的结果是阻止这个异常,最好是,或者至少优雅地处理它。我在Microsoft代码中收到异常抛出。最重要的是,抛出异常的方法是System.Windows.Input.Manipulations.ManipulationSequence.ProcessManipulators,我在MicrosoftReferenceSource中找不到。当抛出异常时,我可以在调用堆栈窗口中看到下面一行引用Windows.Input.Manipulations.ManipulationProcessor2D.ProcessManipulators,whichdoesexistinMicrosoftR

windows - MessageDialog ShowAsync 在第二个对话框中抛出 accessdenied 异常

我正在尝试在Windows8中实现重试/取消对话框。该对话框第一次显示正常,但在单击重试并再次失败时,我在调用ShowAsync时遇到拒绝访问异常。我不知道为什么,但奇怪的是,有时代码运行良好,并且在我放置断点时没有出现异常。这里真的很无能这是代码。asyncvoidDismissedEventHandler(SplashScreensender,objecte){dismissed=true;loadFeeds();}privateasyncvoidloadFeeds(){awaitDispatcher.RunAsync(CoreDispatcherPriority.Normal,a

javascript - 带有简单 redis 应用程序的 Node.js 抛出 'unhandled error'

我想尝试来自http://expressjs.com/guide.html的示例应用程序所以我写了以下内容:varexpress=require('express')varredis=require('redis')vardb=redis.createClient();varapp=express();app.use(function(req,res,next){varua=req.headers['user-agent'];db.zadd('online',Date.now(),ua,next);});app.use(function(req,res,next){varmin=60*

exception-handling - 为什么在返回 default case 的 switch 语句后抛出异常?

RedisZiplistimplementation在它的一个函数中有一个奇怪的约定——带有defaultcase后跟外部异常的switch语句:staticunsignedintzipIntSize(unsignedcharencoding){switch(encoding){caseZIP_INT_8B:return1;caseZIP_INT_16B:return2;caseZIP_INT_24B:return3;caseZIP_INT_32B:return4;caseZIP_INT_64B:return8;default:return0;}assert(NULL);return0